package com.example.demo78;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 静态代码块与静态属性的加载顺序
 * 由此可见，实例化子类的时候，若此类未被加载过，首先加载是父类的类对象，然后加载子类的类对象，接着实例化父类，最后实例化子类，若此类被加载过，不再加载父类和子类的类对象。接下来是加载顺序，当加载类对象时，首先执行静态属性初始化，然后执行静态块，当实例化对象时，首先执行实例块，然后执行构造方法，至于各静态块、实例块之间的执行顺序，是按代码的先后顺序
 *     private static File file ;
 *     static {
 *         PathConfig pathConfig1 = SpringUtil.getBean(PathConfig.class);
 *         file = new File("pathConfig1.getScanPath()" + File.separator + "delete2CLog.txt");
 *     }  这种操作是不会赋值的
 *         @Autowired
 *     PathConfig pathConfig;
 *     private  File file =new File(pathConfig.getSyncpath()+"aaa");这种是拿不到的
 *     private  File file=1>2?new File("aaa"):new File("bbb");这种是可以的
 */
@SpringBootApplication
public class Demo78Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo78Application.class, args);
    }

}
